// For authoring Nightwatch tests, see
// http://nightwatchjs.org/guide#usage
const clearValue = (browser, selector) => {
  browser.getValue(selector, function (result) { for (c in result.value) { browser.setValue(selector, browser.Keys.BACK_SPACE) } })
  return this
}
module.exports = {
  'default e2e tests': function (browser) {
    // automatically uses dev Server port from /config.index.js
    // default: http://localhost:8080
    // see nightwatch.conf.js

    // login测试
    const devServer = browser.globals.devServerURL
    browser.url(devServer).waitForElementVisible('#app', 5000)
      .verify.elementPresent('.login1')
      .assert.elementPresent('.title')
    browser.expect.element('#title').text.to.equal('BOXADMIN')
    browser.expect.element('#loginForm #user input').to.have.value.that.equal('')
    browser.expect.element('#loginForm #pwd input').to.have.value.that.equal('')
    // clearValue(browser, '#loginForm #user input')
    // clearValue(browser, '#loginForm #pwd input')
    // browser.expect.element('#loginForm #user input').to.equal('')
    // browser.expect.element('#loginForm #pwd input').to.equal('')
    browser.click('#login')
    browser.expect.element('#user').to.have.attribute('class').which.contains('is-error')
    browser
      .setValue('#user input', 'hmq1')
      .setValue('#pwd input', '123456')
      .click('#login')
      .waitForElementVisible('.el-message', 5000)
      .expect.element('.el-message p').text.to.equal('用户名或密码错误')
    browser.waitForElementNotPresent('.el-message', 5000)
    clearValue(browser, '#loginForm #user input')
    clearValue(browser, '#loginForm #pwd input')
    browser
      .setValue('#loginForm #user input', 'hmq')
      .setValue('#pwd input', '123456')
      .click('#login')
      .waitForElementVisible('.el-message', 5000)
      .expect.element('.el-message p').text.to.equal('登陆成功')

    //client测试
    browser.end()
  }
}
